<?php

class HomeController extends BaseController {

	/*
	|--------------------------------------------------------------------------
	| Default Home Controller
	|--------------------------------------------------------------------------
	|
	| You may wish to use controllers instead of, or in addition to, Closure
	| based routes. That's great! Here is an example controller method to
	| get you started. To route to this controller, just add the route:
	|
	|	Route::get('/', 'HomeController@showWelcome');
	|
	*/

	public function showWelcome()
	{
		return View::make('hello');
	}

    public function actualizarPostura($id_usuario, $id_postura, $me_gusta, $lo_he_probado)
    {

        $sql  ="INSERT INTO kamasutra_usuario (id_kamasutra, id_usuario, te_gusta, has_probado) VALUES ('" . stripslashes($id_postura) . "', '" . stripslashes($id_usuario) . "','" . stripslashes($me_gusta) . "','" . stripslashes($lo_he_probado) . "') ON DUPLICATE KEY UPDATE te_gusta = '" . stripslashes($me_gusta)."',has_probado = '" . stripslashes($lo_he_probado)."'";
             
        $result = DB::statement($sql);
        return $result;
    
    }
    
    public function sugerirPostura($id_usuario, $id_postura){
            
        $enlace = DB::table('enlace')
                ->where('id_usuario1', '=', $id_usuario)
                ->orWhere('id_usuario2', '=', $id_usuario)->first();
            //print_r($enlace);
        if($enlace != NULL){    
            
            if($enlace->id_usuario1 == $id_usuario){
                /*se le sugiere a usuario 2*/
           //     echo $enlace->id_usuario1." ".$id_usuario;
                $id_usuario = $enlace->id_usuario2;
            }else if($enlace->id_usuario2 == $id_usuario){
                /*se le sugiere al usuario 1*/
            //    echo $enlace->id_usuario2." ".$id_usuario;
                $id_usuario = $enlace->id_usuario1;
            }
            
            $sugerencia = new Sugerencia;
            $result = $sugerencia::where('id_kamasutra','=',$id_postura)->first();
            
   
    
            if($result == NULL){
                $kamasutra = DB::table('kamasutra')->where('id_kamasutra','=',$id_postura)->first();
                
                if($kamasutra != NULL){
                    $sugerencia->id_kamasutra = $id_postura;
                    $sugerencia->tipo = 1;
                    $sugerencia->save();
               
                    $result = $sugerencia::where('id_kamasutra','=',$id_postura)->first();
              
                 
                    $envios = new Envios;
                    $envios->tipo_envio = 3;
                    $envios->id_objeto = $result->id_sugerencia;
                        /*este es el usuario al que va el envio*/
                    $envios->id_usuario = $id_usuario;
              //     $envios->email = $email;
                    $envios->save();
                    
                    
                    $sugeUser = new SugerenciaUsuario;
                    
                    $sugeUser->id_sugerencia = $result->id_sugerencia;
                    $sugeUser->id_usuario = $id_usuario;
                    
                    $sugeUser->save();
                    return 1;
                }    
            }else{
                $envios = new Envios;
                
                $envios->tipo_envio = 3;
                $envios->id_objeto = $result->id_sugerencia;
                    /*este es el usuario al que va el envio*/
                $envios->id_usuario = $id_usuario;
          //     $envios->email = $email;
                $envios->save();
                
                
                $sugeUser = new SugerenciaUsuario;
                
                $sugeUser->id_sugerencia = $result->id_sugerencia;
                $sugeUser->id_usuario = $id_usuario;
                
                $sugeUser->save();
                return 1;
               // echo $result;
                
            }
      /*      $data =  DB::table('solicitud_enlace')
            ->join('usuarios', 'usuarios.id_usuario', '=', 'solicitud_enlace.id_usuario1')
            ->join('envios_pendientes', 'envios_pendientes.id_usuario', '=', 'solicitud_enlace.id_usuario2')
            ->where('solicitud_enlace.id_usuario2','=',$id)
            ->where('envios_pendientes.tipo_envio','=',2)
            ->get();*/
                /*
            $envio = new Envios;    
            $envios->tipo_envio = 3;
            $envios->id_objeto = 0;
            /*este es el usuario al que va el envio
            $envios->id_usuario = $id_usuario;
          // $envios->email = $email;
            $envios->save();*/
            
        }
        return 0;
    //    $data = array('id_usuario' => 1, 'id_usuario1' => $user1->id_usuario, 'id_usuario2'=> $user->id_usuario, "apodo"=>$apodo,"c_vinculacion"=> $codigo,);
      //  $result = DB::table('solicitud_enlace')->insert($data);
    }
    public function enviosSugerencia($id_usuario){
        $data =  DB::table('envios_pendientes')
            ->join('sugerencia_usuario', 'sugerencia_usuario.id_sugerencia', '=', 'envios_pendientes.id_objeto')
            ->join('sugerencia', 'sugerencia.id_sugerencia', '=', 'sugerencia_usuario.id_sugerencia')
            ->join('kamasutra', 'sugerencia.id_kamasutra', '=' , 'kamasutra.id_kamasutra')
           /// ->where('sugerencia.id_sugerencia','=','envios_pendientes.id_objeto')
            ->where('envios_pendientes.id_usuario','=',$id_usuario)
            ->where('sugerencia_usuario.id_usuario','=',$id_usuario)
            ->where('sugerencia_usuario.estado_sug','=',0)
            ->where('envios_pendientes.tipo_envio','=',3)
            ->groupBy('sugerencia.id_sugerencia')
            ->get();

        $json = array();
  
        foreach($data as $key => $value){
            $result = array();
            foreach($value as $key2 => $value2){
                if($key2 == 'id_kamasutra' || $key2 == 'created_at' || $key2 == 'id_sugerencia' || $key2 == 'id_sug_usuario' || $key2 == 'id_usuario'){
                    $result[$key2] = $value2;
                }
            }
             $json["s".$key] = $result;
        }
        return $json;
    }
    
    private function repara(){
        $formularios =  DB::table('formulario')->orderBy('id_formulario', 'asc')->get();
        var_dump($formularios); 
        $result = DB::statement('TRUNCATE TABLE formulario');
        
        for($i=0;$i<count($formularios); $i++){
            $formulario = new Formulario;
            $formulario->titulo= $formularios[$i]->titulo;
            $formulario->id_kamasutra = $i+1;
            $formulario->save();
        }
    }
    
    
    
    public function sugerenciaFormulario($id_usuario)
    {
        $json = array();
       /* $i=0;
        foreach($sugerencias as $key => $value){
            $data =  DB::table('formulario')
            ->join('formulario_preguntas', 'formulario_preguntas.id_formulario', '=', 'formulario.id_formulario')
            ->join('pregunta', 'formulario_preguntas.id_pregunta', '=', 'pregunta.id_pregunta')
            ->where('formulario.id_kamasutra', '=', $value['id_kamasutra'])
            ->groupBy('formulario_preguntas.id_formulario','formulario_preguntas.id_pregunta')
            ->get();
            $array['f'.$i] = $data;
            
            $i++;
        }*/
        
        $data =  DB::table('envios_pendientes')
            ->join( 'formulario', 'formulario.id_kamasutra', '=', 'envios_pendientes.id_objeto' )
            ->join( 'usuario_formulario' , 'usuario_formulario.id_formulario' , '=' , 'formulario.id_formulario' )
            ->join( 'formulario_preguntas', 'formulario_preguntas.id_formulario', '=' , 'formulario.id_formulario' )
            ->join( 'pregunta', 'formulario_preguntas.id_pregunta', '=', 'pregunta.id_pregunta' )
           /// ->where('sugerencia.id_sugerencia','=','envios_pendientes.id_objeto')
            ->where('envios_pendientes.id_usuario','=',$id_usuario)
            ->where('envios_pendientes.tipo_envio','=',4)
            ->groupBy('formulario_preguntas.id_formulario','formulario_preguntas.id_pregunta')
            ->get();
        foreach($data as $key => $value){
            $result = array();
          foreach($value as $key2 => $value2){
                    $result[$key2] = $value2;
            }
             $json["f".$key] = $result; 
        }
        
        $last_id=-1;
            $i=0;
            $s=0;
            $final = array();
            $result = array();
        foreach($json as $key => $value){
  
            if($last_id ==-1){
              
                $last_id = $value['id_kamasutra']; 
            }    
            
            if($value['id_kamasutra'] == $last_id){

                $final['p'.$i] = $value;
                $i++;
             }else{

                $result['f'.$s] = $final;
                $final=array();
                $i=0;
                $final['p'.$i] = $value;
                $i++;
                $s++;
             }
            $last_id = $value['id_kamasutra'];
        }
        $result['f'.$s] = $final;
        
        if($result['f0'] == NULL){
            $result = array();
        }
     return $result;
       
       
    }
    
    public function cancelarSugerenia($id_sug_usuario){
        $update = SugerenciaUsuario::where('id_sug_usuario', $id_sug_usuario)
            ->update(array('estado_sug' => '100'));
    }
    
    public function aceptarSugerenia($id_sug_usuario){
        $result = $update = SugerenciaUsuario::where('id_sug_usuario', $id_sug_usuario)
            ->update(array('estado_sug' => '1'));
        
      //  echo $result;
        if($result>0){
                $data =  DB::table('sugerencia_usuario')
                ->join('sugerencia', 'sugerencia.id_sugerencia', '=', 'sugerencia_usuario.id_sugerencia')
              //  ->join('pregunta', 'formulario_preguntas.id_pregunta', '=', 'pregunta.id_pregunta')
                ->where('sugerencia_usuario.id_sug_usuario', '=', $id_sug_usuario)
                ->groupBy('sugerencia.id_sugerencia')
                ->get();
                
            //    var_dump($data);
                
                  $envios = new Envios;
            $envios->tipo_envio = 4;
            $envios->id_objeto = $data[0]->id_kamasutra;
         /*   este es el usuario al que va el envio*/
            $envios->id_usuario = $data[0]->id_usuario;
            //     $envios->email = $email;
                        $envios->save();
            //  $this->envioFormCompletado($id_usuario,);  
            
                 $enlace = DB::table('enlace')
                    ->where('id_usuario1', '=', $data[0]->id_usuario)
                    ->orWhere('id_usuario2', '=', $data[0]->id_usuario)->first();
             //   print_r($enlace);
            if($enlace != NULL){
                $id_usuario = $data[0]->id_usuario;
                if($enlace->id_usuario1 == $data[0]->id_usuario){
                    /*se le sugiere a usuario 2*/
               //     echo $enlace->id_usuario1." ".$id_usuario;
                    $id_usuario = $enlace->id_usuario2;
                }else if($enlace->id_usuario2 == $data[0]->id_usuario){
                    /*se le sugiere al usuario 1*/
                //    echo $enlace->id_usuario2." ".$id_usuario;
                    $id_usuario = $enlace->id_usuario1;
                }
                
                $sugerencia = new SugerenciaUsuario;
                $sugerencia->id_sugerencia = $data[0]->id_sugerencia;
                $sugerencia->id_usuario = $id_usuario;
                $sugerencia->estado_sug = 1;
                $sugerencia->save();
                    
                 $envios = new Envios;
                $envios->tipo_envio = 4;
                $envios->id_objeto = $data[0]->id_kamasutra;
         /*     este es el usuario al que va el envio*/
                $envios->id_usuario = $id_usuario;
            //  $envios->email = $email;
                $envios->save();
               
                
                $id_form = Formulario::where('id_kamasutra','=',$data[0]->id_kamasutra)->first();
                
                if($id_form != NULL){
                    $usuario_formulario = new UsuarioFormulario;
                    $usuario_formulario->id_formulario = $id_form->id_formulario;
                    $usuario_formulario->id_usuario = $enlace->id_usuario1;
                    $usuario_formulario->save();
                    
                    $usuario_formulario = new UsuarioFormulario;
                    $usuario_formulario->id_formulario = $id_form->id_formulario;
                    $usuario_formulario->id_usuario = $enlace->id_usuario2;
                    $usuario_formulario->save();
                    
                }
            }
        
        }
      
                    
        
    }
    
    public function envioFormCompletado($id_usuario, $id_formulario, $respuestas){
        $sql  ="INSERT INTO usuario_formulario (id_usuario, id_formulario, respuestas) VALUES ('" . stripslashes($id_usuario) . "', '" . stripslashes($id_formulario) . "','" . $respuestas . "') ON DUPLICATE KEY UPDATE respuestas = '" . stripslashes($respuestas)."'";
        $result = DB::statement($sql);
        return $result;
    }
}